﻿//#define _CRT_SECURE_NO_WARNINGS  1
////一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
////一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include"homework.h"
//namespace jz {
//	//构造函数
//	string::string(const char* str )
//	{
//		size_t len = strlen(str);
//		//开空间
//		char* tem = new char[len + 1];
//		delete[] _str;
//		strcpy(tem, str);
//		_str = tem;
//		_capacity = len;
//		_size = len;
//	}
//	//拷贝构造
//	string::string(const string& s)
//	{
//		size_t len = strlen(s._str);
//		char* tem = new char[len + 1];
//		delete[] _str;
//		//拷贝数据
//		strcpy(tem, s._str);
//		_str = tem;
//		_capacity = len;
//		_size = len;
//	}
//	char* string::c_str() const
//	{
//		return _str;
//	}
//	void string::swap(string& s)
//	{
//		std::swap(_str, s._str);
//		std::swap(_capacity, s._capacity);
//		std::swap(_size, s._size);
//	}
//	string& string::operator=(const string s)
//	{
//		//size_t len = strlen(s._str);
//		//char* tem = new char[len + 1];
//		//delete[] _str;
//		////拷贝数据
//		//strcpy(tem, s._str);
//		//_str = tem;
//		//_capacity = len;
//		//_size = len;
//		//return *this;
//		string tem(s);
//		swap(tem);
//		return *this;
//	}
//	string::~string()
//	{
//		delete[] _str;
//		_str = nullptr;
//		_size = _capacity = 0;
//	}
//}
